In storage management, data is stored in storage devices. Storage devices may use two (or more) different types of storage to store and provide access to data, which are primary storage and cache. Primary storage is where data is primarily and persistently stored, and cache is where data is stored to provide quick access to data. The cache stores less data than primary storage and is often comprised of more expensive and more quickly accessed memory than that used for primary storage. For example, cache may be volatile memory or non-volatile flash memory and the primary storage may be disk-based storage.
To ensure availability of data on a storage device when that storage device fails or otherwise becomes unavailable, storage management systems use data mirroring. In data mirroring, data is stored redundantly in a set of storage devices referred to as a mirrored set or a mirrored set of storage devices. Data stored on a storage device in a mirrored set is stored redundantly on one or more other storage devices in the mirrored set. Storage devices in a mirrored set are referred to as mirror buddies with respect to each other. Data mirroring ensures that when mirrored data on a storage device becomes unavailable on that storage device, a redundantly stored copy may be obtained from at least one mirror buddy.
A storage device may be brought down to perform maintenance, such as upgrading. If the storage device is mirrored, availability to mirrored data may be maintained by using “staggered down time.” In staggered down time, a mirrored set of storage devices are brought down one at a time, while another in the set remains online to provide access to mirrored data on the down storage device. When a storage device is down, mirrored data on the other online storage device may be changed, rendering mirrored data on the down storage device out-of-date. To bring the down storage device back online, the mirrored data on the storage device is made current with the mirrored data stored on the other storage device that remained online. Discussed herein are techniques and approaches for making mirrored data current on a storage device that was down during a staggered downtime.